![AWS SSOのIDストアをAzure ADにしている環境において証明書を更新する方法](https://devio2023-media.developers.io/wp-content/uploads/2019/05/aws-single-sign-on.png)
AWS SSOのIDストアをAzure ADにしている環境において証明書を更新する方法
AWS SSO と Azure AD を SAML 2.0 で認証連携している環境では、Azure AD の証明書の更新作業が必要となります。AWS SSO では証明書を 2 つ登録できることから、切り替えのためのサービス中断を伴わずに更新できますので、その更新方法を紹介します。
本ブログの前提として、下記ブログの手順で構築した環境で証明書を更新する作業を試しました。
Azure AD 証明書の更新イメージ
更新した Azure AD の証明書を AWS SSO に反映する手順のイメージを示します。
Azure AD で新しい証明書を作成して AWS SSO にアップロードを行った後に、Azure AD で新しい証明書に切り替えます。
Azure AD 証明書の更新設定
はじめに、Azure AD において証明書の有効期限を確認します。
エンタープライズアプリケーションの「シングルサインオン」を選択します。
SAML 署名証明書から有効期限を確認します。
今回は、有効期限までかなり日数がありますが、新しい証明書に切り替えます。
新しい証明書を作成するために「編集」を選択します。
「新しい証明書」を選択して証明書を発行します。
新しい証明書が追加されたことを確認して「保存」します。
新しい証明書は非アクティブ状態で作成されます。
新しい証明書を AWS SSO にアップロードするためにダウンロードします。
新しい証明書を選択して、AWS SSO 側で対応している PEM 形式でダウンロードします。
次に、AWS SSO に証明書をアップロードします。
設定画面から SAML 2.0 の「詳細を表示」を選択します。
ID プロバイダーのメタデータから「証明書を管理する」を選択します。
「証明書をインポートする」から新しい Azure AD の証明書をアップロードします。
証明書ファイルを参照して「証明書をインポート」します
AWS SSO は最大 2 つの証明書を登録できるため、この時点で古い証明書と新しい証明書の両方が有効な状態となります。
ここから、Azure AD において新しい証明書に切り替える作業を行います。
Azure AD で新しい証明書を選択してアクティブ化します。
アプリケーションに証明書がインポートされているか確認する画面が表示されるため、AWS SSO 側で新しい証明書が登録されていることを確認して「はい」を選択します。
新しい証明書がアクティブとなり、古い証明書は非アクティブとなりました。
この時点で一度 AWS SSO ユーザーポータルにサインインできるか確かめてみます(または、Azure AD マイアプリポータルから AWS SSO にサインインします)
サインインできました。
続いて、AWS SSO において古い証明書を削除します。間違えて新しい証明書を削除しないように十分に注意します。
確認画面が表示されるため、有効期限を確認してから「削除」を入力して「証明書を削除する」を選択します。
削除後の証明書は 1 つのみとなります。
再度、AWS SSO ユーザーポータルにサインインできるか確かめてみます。
サインインできました。
Azure AD においても古い証明書を選択して削除します。
確認画面が表示されるため「はい」を選択します。
古い証明書が削除されたことを確認できました。
最後に、AWS SSO ユーザーポータルにサインインできるか確かめます。
サインインできました。
以上で証明書の更新作業は完了です。
Azure AD 証明書の有効期限の通知
Azure AD の SAML 証明書の失効に気づかなければ更新方法を知っていても意味がありません。Azure AD では通知設定を行うことで証明書の有効期限が切れる 60 日前、30 日前、7 日前にメールで知らせてくれます。
さいごに
Azure AD と AWS SSO を SAML 2.0 で認証連携している環境において、Azure AD の SAML 証明書を更新する方法を紹介しました。古い証明書を削除する際に間違えて新しい証明書を削除しないように慎重に作業する必要がありました。
また、Azure AD の証明書の更新を忘れないように通知設定をしておくことで、有効期限が切れる前に知らせてくれるため、設定したておいたほうが良さそうです。